package com.pn.warehouse.service;

import com.pn.warehouse.dto.AssignAuthDto;
import com.pn.warehouse.entity.Result;
import com.pn.warehouse.entity.Role;
import com.pn.warehouse.entity.RoleAuth;
import com.pn.warehouse.page.Page;

import java.util.List;

public interface RoleService {

    //查询所有的角色
    public List<Role> queryAllRole();

    //根据用户id查询用户分配的所有角色
    public List<Role> queryUserRoleByUid(Integer userId);

    //分页查询角色信息
    public Page queryRolePage(Page page, Role role);

    //新增角色
    public Result insertRole(Role role);

    //根据id更新角色的状态
    public Result updateRoleStateById(Role role);

    //根据id删除角色
    public Result removeRoleById(Integer roleId);

    //查询角色分配的所有权限
    public List<Integer> findAuthIdsById(Integer roleId);

    //添加角色权限关系
    public void insertRoleAuth(AssignAuthDto assignAuthDto, Integer userId);

    //根据角色id修改角色描述
    public Result updateDescById(Role role);

}
